#include "setwidget.h"

#include <QVBoxLayout>
#include <QTimer>
#include <QGraphicsDropShadowEffect>

SetWidget::SetWidget(QWidget *parent)
    : QWidget{parent, Qt::Popup}
{
    // 去除窗口的系统边框和标题栏 | 临时浮层
    this->setAttribute(Qt::WA_TranslucentBackground);
    this->setWindowFlags(Qt::FramelessWindowHint | Qt::Popup | Qt::NoDropShadowWindowHint);
    this->setFixedSize(155, 230);
    this->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
    InitUI();
}

void SetWidget::InitUI(){
    QWidget* centralWidget = new QWidget(this); // 创建中央容器
    centralWidget->setObjectName("SelfInfoDialog");
    centralWidget->setStyleSheet(
        "#SelfInfoDialog {"
        "background-color: #f8f8f8;"
        "border-radius: 10px;"
        "}"
        );
    // 阴影布局
    QGraphicsDropShadowEffect* effect = new QGraphicsDropShadowEffect();
    effect->setOffset(0, 0);
    effect->setColor(QColor(68, 68, 68));
    effect->setBlurRadius(8);
    centralWidget->setGraphicsEffect(effect);

    // 设置 QDialog 的主布局
    QVBoxLayout* dialogLayout = new QVBoxLayout(this);
    dialogLayout->setContentsMargins(2, 2, 2, 2);
    dialogLayout->addWidget(centralWidget); // 将 centralWidget 添加到 QDialog 的主布局中

    // 为 centralWidget 设置内部布局
    layout = new QVBoxLayout(centralWidget); // 将布局应用到 centralWidget
    layout->setSpacing(6);
    layout->setContentsMargins(10, 5, 0, 0);

    // 添加按钮
    addStyledButton("🌙 切换深色主题");
    addStyledButton("🗑 清空聊天记录");
    addStyledButton("⚙️ 个人设置");
    addStyledButton("📤 导出聊天");
    addStyledButton("📞 关于我们");



    // 连接按钮信号
    // for (auto btn : findChildren<QPushButton*>()) {
    //     if (btn->text().contains("深色")) {
    //         connect(btn, &QPushButton::clicked, this, [this]() {
    //             emit themeChanged("dark");
    //             this->close();  // 关闭面板
    //         });
    //     } else if (btn->text().contains("清空")) {
    //         connect(btn, &QPushButton::clicked, this, [this]() {
    //             emit clearChatRequested();
    //             this->close();
    //         });
    //     } else if (btn->text().contains("设置")) {
    //         connect(btn, &QPushButton::clicked, this, [this]() {
    //             emit settingsRequested();
    //             this->close();
    //         });
    //     }
    //     // 其他按钮可扩展
    // }
}


void SetWidget::addStyledButton(const QString &text)
{
    QPushButton *btn = new QPushButton(text);
    btn->setFixedSize(130, 36);
    btn->setCursor(Qt::PointingHandCursor);

    // 样式：圆角 + 悬停效果
    btn->setStyleSheet(R"(
        QPushButton {
            font-size: 14px;
            font-family: 'Microsoft YaHei', 'Segoe UI', sans-serif;
            border: none;
            color: #333;
        }
        QPushButton:hover {
            background-color: rgb(7, 193, 96);
            color: white;
            border-radius: 8px;
        }

    )");
    layout->addWidget(btn);
}





